package com.zhuiyun.project.api.sysmenu.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhuiyun.project.api.sysmenu.entity.SysMenuEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Transient;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @ClassName SysMenuModel
 * @Description TODO
 * @Author lzy
 * @Date 2023/6/5 11:37
 **/
@ApiModel("菜单模型类")
@Data
public class SysMenuModel implements Serializable {

    @ApiModelProperty("主键id新增时无需填写")
    private Integer id;

    /**
     * 菜单name
     */
    @NotBlank(message = "菜单名称不能为空")
    @ApiModelProperty("菜单名")
    private String name;

    /**
     * 路由地址path/views下的文件位置
     */
    @NotBlank(message = "菜单url不能为空")
    @ApiModelProperty("菜单url")
    private String url;

    /**
     * views下的文件路径
     */
    @NotBlank(message = "菜单指定文件路径不能为空")
    @ApiModelProperty("菜单指定文件路径")
    private String curl;

    /**
     * 描述
     */
    @ApiModelProperty("菜单描述")
    private String title;

    /**
     * 图标
     */
    @ApiModelProperty("菜单标识")
    private String icon;

    /**
     * 父级id
     */
    @NotNull(message = "菜单父级id不能为空")
    @ApiModelProperty("菜单父级id")
    private Integer pid;

    /**
     * 父级名称
     */
    @ApiModelProperty("菜单父级id")
    private String ptitle;

    /**
     * 创建时间
     */
    @ApiModelProperty("菜单创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty("菜单修改时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date update_time;


}
